package cn.cdu.medical.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;
import java.util.List;

import cn.cdu.medical.entity.Medicine;
import cn.cdu.medical.entity.Prescription;

@Data
@EqualsAndHashCode(callSuper = true)
@Schema(description = "处方返回对象")
public class PrescriptionVO extends Prescription {

    @Schema(description = "处方ID")
    private String id;

    @Schema(description = "处方编号")
    private String prescriptionNo;

    @Schema(description = "病历ID")
    private String medicalRecordId;

    @Schema(description = "患者ID")
    private String patientId;

    @Schema(description = "患者姓名")
    private String patientName;

    @Schema(description = "医生ID")
    private String doctorId;

    @Schema(description = "医生姓名")
    private String doctorName;

    @Schema(description = "处方类型")
    private String prescriptionType;

    @Schema(description = "处方状态")
    private String status;

    @Schema(description = "用药说明")
    private String instructions;

    @Schema(description = "处方备注")
    private String notes;

    @Schema(description = "有效期开始时间")
    private Date validityStartTime;

    @Schema(description = "有效期结束时间")
    private Date validityEndTime;

    @Schema(description = "创建时间")
    private Date createTime;

    @Schema(description = "药品列表")
    private List<Medicine> medicines;
} 